In a conventional read operation of a magnetic random access memory, a method of passing a current from a sense amplifier to a magnetoresistive element, converting a current difference caused by the resistance of the magnetoresistive element into a difference of the voltage drop of a transistor in the sense amplifier, and amplifying the difference or the like is adopted.
According to the method, it is necessary to continue to pass the current to the magnetoresistive element until the current value stabilizes during reading, posing a problem of a longer read operation and higher power consumption. The problem may become a critical defect when the magnetic random access memory is used as a cache memory of a low-power consuming processor.
Also according to this method, a difference between a reference current and a current dependent on the resistance value (high resistance value/low resistance value) of the magnetoresistive element becomes a read margin unchanged. Thus, noise produced in the timing (instantaneous value) of converting a current value into a voltage value greatly affects the read operation. If it is assumed that, for example, the current value is on the order of 10 μA and the on resistance of a transistor is a few kΩ, the read margin becomes about 5 mV and an extremely precise sense amplifier that consumes large power and has a large size will be needed to sense such a read margin.
Further, if a case when the magnetic random access memory is used as a cache memory of a high-speed reading processor is assumed, the above conventional read operation causes a problem that power consumption during reading and latency (delay time) become large. Because read access occurs very frequently in the cache memory of the processor, the problem significantly deteriorates processor's performance.